﻿Imports System.Text.RegularExpressions

Public Class frmricercadatabase

    Dim datasetporte As System.Data.DataTable
    Dim datasetcelle As System.Data.DataTable
    Dim datasetripiano As System.Data.DataTable
    Dim datasetsegregazioni As System.Data.DataTable
    Dim datasetrialzi As System.Data.DataTable
    Dim datasetmontanti As System.Data.DataTable

    Dim DATASETCOMBOBOX As System.Data.DataTable

    Dim pdforiginaleporta As String
    Dim pdforiginalecella As String
    Dim pdforiginalesegregazione As String
    Dim pdforiginaleripiano As String
    Dim pdforiginalemontante As String
    Dim pdforiginalerialzo As String
    Dim PDFCOMPONENTI_VARI As String

    Dim cartellacliente As String
    Dim listafile As System.Collections.ObjectModel.ReadOnlyCollection(Of String)
    Dim statofiles As Integer = 0

    Dim LATO_PORTA As String = ""
    Dim LARGHEZZA As String = ""
    Dim ALTEZZA As String = ""
    Dim IP As String = ""
    Dim CABLAGGIO As String = ""
    Dim INTERRUTTORE As String = ""
    Dim ORIENTAMENTO As String = ""
    Dim DIS_INT_X As String = ""
    Dim DIS_INT_Y As String = ""
    Dim RIALZO_PIASTRA As String = ""

    Dim DATASET_PORTE As New Data.DataSet
    Dim DATASET_CELLE As New Data.DataSet
    Dim DATASET_RIPIANI As New Data.DataSet
    Dim DATASET_SEGREGAZIONI As New Data.DataSet
    Dim DATASET_RIALZI As New Data.DataSet
    Dim temp1 As System.IO.FileInfo
    Dim temp2 As System.IO.FileInfo

    Dim datasetcomponentispeciali As Data.DataSet

    Private Sub frmricercadatabase_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'TODO: questa riga di codice carica i dati nella tabella 'DbporteclientiDataSet.MVA'. È possibile spostarla o rimuoverla se necessario.
        Me.MVATableAdapter.Fill(Me.DbporteclientiDataSet.MVA)
        'TODO: questa riga di codice carica i dati nella tabella 'DbporteclientiDataSet.PORTE_SPECIALI'. È possibile spostarla o rimuoverla se necessario.
        Me.PORTE_SPECIALITableAdapter.Fill(Me.DbporteclientiDataSet.PORTE_SPECIALI)

        DATASETCOMBOBOX = DbporteclientiDataSet.PORTE_SPECIALI.Copy

        Button15_Click(sender, e)

        '----------------------------------------------------------------VECCHIA GESTIONE
        'datasetporte = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetporte = RIEMPI_DATASET(datasetporte, "PORTA")
        ''carica_dati_combobox_ricerca(datasetporte, DATASETCOMBOBOX)

        'datasetcelle = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetcelle = RIEMPI_DATASET(datasetcelle, "FONDOCELLA")
        ''carica_dati_combobox_ricerca(datasetcelle, DATASETCOMBOBOX)

        'datasetripiano = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetripiano = RIEMPI_DATASET(datasetripiano, "RIPIANO")
        ''carica_dati_combobox_ricerca(datasetripiano, DATASETCOMBOBOX)

        'datasetsegregazioni = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetsegregazioni = RIEMPI_DATASET(datasetsegregazioni, "SEGREGAZIONE")
        ''carica_dati_combobox_ricerca(datasetsegregazioni, DATASETCOMBOBOX)

        'datasetrialzi = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetrialzi = RIEMPI_DATASET(datasetrialzi, "RIALZO/PIASTRA")
        ''carica_dati_combobox_ricerca(datasetrialzi, DATASETCOMBOBOX)
        '----------------------------------------------------------------VECCHIA GESTIONE



        datasetmontanti = DbporteclientiDataSet.MVA.Copy
        datasetmontanti = RIEMPI_DATASET(datasetmontanti, "MONTANTE")
        carica_dati_mva(datasetmontanti)

        'cbcarica_dati(DATASETCOMBOBOX)

        DGPORTE.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        DGFONDOCELLA.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        DGRIALZI.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        DGRIPIANO.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        DGSEGREGAZIONE.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells
        DGMONTANTE.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells


        ' riempi_datagrid()
        DGPORTE.DataSource = DATASET_PORTE.Tables(0)
        '  colonneporta()
        DGFONDOCELLA.DataSource = DATASET_CELLE.Tables(0)
        'colonnecella()
        DGRIALZI.DataSource = DATASET_RIALZI.Tables(0)
        ' colonnerialzi()
        DGRIPIANO.DataSource = DATASET_RIPIANI.Tables(0)
        'colonneripiano()
        DGSEGREGAZIONE.DataSource = DATASET_SEGREGAZIONI.Tables(0)
        'colonnesegregazioni()
        DGMONTANTE.DataSource = datasetmontanti
        colonnemontante()

        'leggi_dataset()
        cbcarica_dati(DbporteclientiDataSet.PORTE_SPECIALI)
        cbcarica_dati(DbporteclientiDataSet.MVA)
        '------------------------------
        Tbposx.Text = "69"
        Tbposy.Text = "20"
        Tbhtesto.Text = "25"
        Panel9.Enabled = False
        panel_anteprima.Visible = False
        panel_anteprima.BringToFront()
        '------------------------------

        For Each item In Clsdatabase.Lista_item("COMP_VARI", "DIM_H")
            Cbaltezza.Items.Add(item)
        Next

        For Each item In Clsdatabase.Lista_item("COMP_VARI", "DIM_P")
            CBprofondita.Items.Add(item)
        Next

        For Each item In Clsdatabase.Lista_item("COMP_VARI", "DIM_L")
            Cblarghezza.Items.Add(item)
        Next

        For Each item In Clsdatabase.Lista_item("COMP_VARI", "TIPOLOGIA")
            CBtipologia.Items.Add(item)
        Next
        CBtipologia.Sorted = True


        Dim listacodint01 As New ArrayList
        Dim listastr01 As New ArrayList
        Dim listarotint01 As New ArrayList
        Dim listapmont As New ArrayList
        Dim listatipo As New ArrayList
        Dim listaposyripiano As New ArrayList
        Dim listatipoforatura As New ArrayList
        Dim listamicroattant As New ArrayList
        datasetcomponentispeciali = New Data.DataSet

        Clsdatabase.dataset_componenti_speciali(datasetcomponentispeciali)
        Clsdatabase.lista_item_comp_speciali(datasetcomponentispeciali.Tables("ComponentiSpeciali"), "COD_INT_01", listacodint01)
        Clsdatabase.lista_item_comp_speciali(datasetcomponentispeciali.Tables("ComponentiSpeciali"), "COD_STR_01", listastr01)
        Clsdatabase.lista_item_comp_speciali(datasetcomponentispeciali.Tables("ComponentiSpeciali"), "ROT_INT_01", listarotint01)
        Clsdatabase.lista_item_comp_speciali(datasetcomponentispeciali.Tables("ComponentiSpeciali"), "P_MONTANTE", listapmont)
        Clsdatabase.lista_item_comp_speciali(datasetcomponentispeciali.Tables("ComponentiSpeciali"), "POS_Y_RIPIANO", listaposyripiano)
        Clsdatabase.lista_item_comp_speciali(datasetcomponentispeciali.Tables("ComponentiSpeciali"), "TIPO_FORATURA_01", listatipoforatura)
        Clsdatabase.lista_item_comp_speciali(datasetcomponentispeciali.Tables("ComponentiSpeciali"), "MICR_ATT_ANT_01", listamicroattant)

        Clsdatabase.lista_item_comp_speciali(datasetcomponentispeciali.Tables("TipiComponenti"), "Componente", listatipo)

        listaposyripiano.Sort()
        listatipoforatura.Sort()
        listamicroattant.Sort()
        listapmont.Sort()
        listarotint01.Sort()
        listacodint01.Sort()
        listastr01.Sort()
        listatipo.Sort()

        Cbtipocompspeciale.DataSource = listatipo
        Cbposyripiano.DataSource = listaposyripiano
        Cbtipoforatura.DataSource = listatipoforatura
        cbmicroattant.DataSource = listamicroattant
        Cbrotint01.DataSource = listarotint01
        cbpmont.DataSource = listapmont
        Cbcodint01.DataSource = listacodint01
        Cbcodstr01.DataSource = listastr01

        Cbtipocompspeciale.Text = ""
        Cbposyripiano.Text = ""
        Cbtipoforatura.Text = ""
        cbmicroattant.Text = ""
        Cbrotint01.Text = ""
        cbpmont.Text = ""
        Cbcodint01.Text = ""
        Cbcodstr01.Text = ""

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

        CBALT_TAGLIO_1.Text = ""
        CBALT_TAGLIO_2.Text = ""
        Cbaltezza.Text = ""
        cbaltezza_montante.Text = ""
        cbcablaggio.Text = ""
        cbdisx.Text = ""
        cbdisy.Text = ""
        cbinterruttore.Text = ""
        cbip.Text = ""
        Cblarghezza.Text = ""
        cblato_porta.Text = ""
        cborientamento.Text = ""
        CBPART_TAGLIO_1.Text = ""
        CBPART_TAGLIO_2.Text = ""
        cbrialzo.Text = ""

        datasetporte = Nothing
        datasetcelle = Nothing
        datasetrialzi = Nothing
        datasetripiano = Nothing
        datasetsegregazioni = Nothing
        datasetmontanti = Nothing
        datasetcomponentispeciali = Nothing

        Me.frmricercadatabase_Load(sender, e)

        'datasetporte = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetporte = RIEMPI_DATASET(datasetporte, "PORTA")

        'datasetcelle = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetcelle = RIEMPI_DATASET(datasetcelle, "FONDOCELLA")

        'datasetripiano = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetripiano = RIEMPI_DATASET(datasetripiano, "RIPIANO")

        'datasetsegregazioni = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetsegregazioni = RIEMPI_DATASET(datasetsegregazioni, "SEGREGAZIONE")

        'datasetrialzi = DbporteclientiDataSet.PORTE_SPECIALI.Copy()
        'datasetrialzi = RIEMPI_DATASET(datasetrialzi, "RIALZO/PIASTRA")

        'datasetmontanti = DbporteclientiDataSet.MVA.Copy
        'datasetmontanti = RIEMPI_DATASET(datasetmontanti, "MONTANTE")

        'DGPORTE.AutoResizeColumns()
        'DGFONDOCELLA.AutoResizeColumns()
        'DGRIALZI.AutoResizeColumns()
        'DGRIPIANO.AutoResizeColumns()
        'DGSEGREGAZIONE.AutoResizeColumns()
        'DGMONTANTE.AutoResizeColumns()


        'leggi_dataset()
        'carica_dati_mva(datasetmontanti)

        'DGPORTE.DataSource = datasetporte
        'colonneporta()
        'DGFONDOCELLA.DataSource = datasetcelle
        'colonnecella()
        'DGRIALZI.DataSource = datasetrialzi
        'colonnerialzi()
        'DGRIPIANO.DataSource = datasetripiano
        'colonneripiano()
        'DGSEGREGAZIONE.DataSource = datasetsegregazioni
        'colonnesegregazioni()
        'DGMONTANTE.DataSource = datasetmontanti
        'colonnemontante()


    End Sub

    Private Sub cbcarica_dati(ByVal datatable As System.Data.DataTable)
        '-------------carico i dati del db nelle varie combobox---------------------------

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("LATO_PORTA"))
            If item = "" Then
            Else
                If cblato_porta.Items.Contains(item) Then
                Else
                    cblato_porta.Items.Add(item)
                End If
            End If
        Next
        cblato_porta.Sorted = True

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("LARGHEZZA"))
            If item = "" Then
            Else
                If Cblarghezza.Items.Contains(item) Then
                Else
                    Cblarghezza.Items.Add(item)
                End If
            End If
        Next
        Cblarghezza.Sorted = True

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("ALTEZZA"))
            If item = "" Then
            Else
                If Cbaltezza.Items.Contains(item) Then
                Else
                    Cbaltezza.Items.Add(item)
                End If
            End If
        Next
        Cbaltezza.Sorted = True

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("IP"))
            If item = "" Then
            Else
                If cbip.Items.Contains(item) Then
                Else
                    cbip.Items.Add(item)
                End If
            End If
        Next
        cbip.Sorted = True

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("CABLAGGIO"))
            If item = "" Then
            Else
                If cbcablaggio.Items.Contains(item) Then
                Else
                    cbcablaggio.Items.Add(item)
                End If
            End If
        Next
        cbcablaggio.Sorted = True

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("INTERRUTTORE"))
            If item = "" Then
            Else
                If cbinterruttore.Items.Contains(item) Then
                Else
                    cbinterruttore.Items.Add(item)
                End If
            End If
        Next
        cbinterruttore.Sorted = True

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("ORIENTAMENTO"))
            If item = "" Then
            Else
                If cborientamento.Items.Contains(item) Then
                Else
                    cborientamento.Items.Add(item)
                End If
            End If
        Next
        cborientamento.Sorted = True

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("DIS_INT_X"))
            If item = "" Then
                If cbdisx.Items.Contains(item) Then
                Else
                    cbdisx.Items.Add(item)
                End If
            End If
        Next
        cbdisx.Sorted = True

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("DIS_INT_Y"))
            If item = "" Then
            Else
                If cbdisy.Items.Contains(item) Then
                Else
                    cbdisy.Items.Add(item)
                End If
            End If
        Next
        cbdisy.Sorted = True

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("RIALZO/PIASTRA"))
            If item = "" Then
            Else
                If cbrialzo.Items.Contains(item) Then
                Else
                    cbrialzo.Items.Add(item)
                End If
            End If
        Next
        cbrialzo.Sorted = True

        '-------------------------------------------------------------------------------------
    End Sub
    Private Sub carica_dati_mva(ByVal datatable As System.Data.DataTable)

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("ALTEZZA"))
            If item = "" Then
            Else
                If cbaltezza_montante.Items.Contains(item) Then
                Else
                    cbaltezza_montante.Items.Add(item)
                End If
            End If
        Next

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("PARTENZA_TAGLIO_1"))
            If item = "" Then
            Else
                If CBPART_TAGLIO_1.Items.Contains(item) Then
                Else
                    CBPART_TAGLIO_1.Items.Add(item)
                End If
            End If
        Next

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("ALTEZZA_TAGLIO_1"))
            If item = "" Then
            Else
                If CBALT_TAGLIO_1.Items.Contains(item) Then
                Else
                    CBALT_TAGLIO_1.Items.Add(item)
                End If
            End If
        Next

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("PARTENZA_TAGLIO_2"))
            If item = "" Then
            Else
                If CBPART_TAGLIO_2.Items.Contains(item) Then
                Else
                    CBPART_TAGLIO_2.Items.Add(item)
                End If
            End If
        Next

        For Each item In Clsdatabase.CARICA_DATI(datatable, datatable.Columns("ALTEZZA_TAGLIO_2"))
            If item = "" Then
            Else
                If CBALT_TAGLIO_2.Items.Contains(item) Then
                Else
                    CBALT_TAGLIO_2.Items.Add(item)
                End If
            End If
        Next
    End Sub

    Private Sub DataGridView1_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGPORTE.CellClick
        Dim porta As String
        Dim cartella As String
        Dim id As String
        Dim fondocella As String
        Dim rialzo As String
        Dim riga = DGPORTE.Rows(DGPORTE.CurrentCell.RowIndex)

        id = riga.Cells.Item("ID").Value
        Dim rigads = Clsdatabase.findrow(DATASET_PORTE.Tables(0), DATASET_PORTE.Tables(0).Columns("ID"), id)
        If rigads.count = 1 Then
            cartella = DATASET_PORTE.Tables(0).Rows(rigads.item(0)).Item("CARTELLA")
            porta = DATASET_PORTE.Tables(0).Rows(rigads.item(0)).Item("PORTA")
            MAGAZZINO.codice_comp = porta
            MAGAZZINO.start()

            fondocella = DATASET_PORTE.Tables(0).Rows(rigads.item(0)).Item("FONDOCELLA")
            rialzo = DATASET_PORTE.Tables(0).Rows(rigads.item(0)).Item("RIALZO/PIASTRA")
            pdforiginaleporta = cartella & "\" & porta & ".pdf"
            pdfporte.LoadFile(pdforiginaleporta)
        End If
        'If fondocella <> Nothing Or fondocella <> "" Then
        '  AxAcroPDF2.Visible = True
        '   AxAcroPDF2.LoadFile(cartella & "\" & fondocella & ".pdf")
        'Else
        '   AxAcroPDF2.Visible = False
        ' End If
    End Sub

    Private Sub colonneporta()
        'DGPORTE.Columns.Remove("ID")
        DGPORTE.Columns.Remove("CABLAGGIO")
        DGPORTE.Columns.Remove("FONDOCELLA")
        DGPORTE.Columns.Remove("CARTELLA")
        DGPORTE.Columns.Remove("RIPIANO")
        DGPORTE.Columns.Remove("SEGREGAZIONE")
    End Sub

    Private Sub colonnecella()

        'DGFONDOCELLA.Columns.Remove("ID")
        DGFONDOCELLA.Columns.Remove("LATO_PORTA")
        DGFONDOCELLA.Columns.Remove("PORTA")
        DGFONDOCELLA.Columns.Remove("IP")
        DGFONDOCELLA.Columns.Remove("RIALZO/PIASTRA")
        DGFONDOCELLA.Columns.Remove("CARTELLA")
        DGFONDOCELLA.Columns.Remove("RIPIANO")
        DGFONDOCELLA.Columns.Remove("SEGREGAZIONE")

    End Sub

    Private Sub colonnerialzi()
        'DGRIALZI.Columns.Remove("ID")
        'DGRIALZI.Columns.Remove("LATO_PORTA")
        DGRIALZI.Columns.Remove("LARGHEZZA")
        DGRIALZI.Columns.Remove("ALTEZZA")
        'DGRIALZI.Columns.Remove("ORIENTAMENTO")
        DGRIALZI.Columns.Remove("DIS_INT_X")
        DGRIALZI.Columns.Remove("DIS_INT_Y")
        DGRIALZI.Columns.Remove("FONDOCELLA")
        DGRIALZI.Columns.Remove("CARTELLA")
        DGRIALZI.Columns.Remove("RIPIANO")
        DGRIALZI.Columns.Remove("SEGREGAZIONE")

    End Sub

    Private Sub colonneripiano()
        'DGRIPIANO.Columns.Remove("ID")
        DGRIPIANO.Columns.Remove("LATO_PORTA")
        DGRIPIANO.Columns.Remove("PORTA")
        DGRIPIANO.Columns.Remove("ALTEZZA")
        DGRIPIANO.Columns.Remove("CABLAGGIO")
        DGRIPIANO.Columns.Remove("ORIENTAMENTO")
        DGRIPIANO.Columns.Remove("DIS_INT_Y")
        DGRIPIANO.Columns.Remove("FONDOCELLA")
        DGRIPIANO.Columns.Remove("RIALZO/PIASTRA")
        DGRIPIANO.Columns.Remove("CARTELLA")
        DGRIPIANO.Columns.Remove("SEGREGAZIONE")

    End Sub

    Private Sub colonnesegregazioni()
        ' DGSEGREGAZIONE.Columns.Remove("ID")
        DGSEGREGAZIONE.Columns.Remove("LATO_PORTA")
        DGSEGREGAZIONE.Columns.Remove("PORTA")
        DGSEGREGAZIONE.Columns.Remove("IP")
        DGSEGREGAZIONE.Columns.Remove("CABLAGGIO")
        DGSEGREGAZIONE.Columns.Remove("FONDOCELLA")
        DGSEGREGAZIONE.Columns.Remove("RIALZO/PIASTRA")
        DGSEGREGAZIONE.Columns.Remove("CARTELLA")
        DGSEGREGAZIONE.Columns.Remove("RIPIANO")
    End Sub

    Private Sub colonnemontante()
        DGMONTANTE.Columns.Remove("CARTELLA")
    End Sub

    Private Function RIEMPI_DATASET(ByVal DATATABLE As System.Data.DataTable, ByVal COLONNA As String)

        For i = 0 To DATATABLE.Rows.Count - 1
            If DATATABLE.Rows(i).Item(COLONNA) = "" Or IsDBNull(DATATABLE.Rows(i).Item(COLONNA)) = True Or DATATABLE.Rows(i).Item(COLONNA) = "0" Then
                DATATABLE.Rows(i).Delete()
            End If
        Next
        Return DATATABLE
    End Function

    Private Sub DGFONDOCELLA_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGFONDOCELLA.CellClick

        Dim cartella As String
        Dim id As String
        Dim fondocella As String

        Dim riga = DGFONDOCELLA.Rows(DGFONDOCELLA.CurrentCell.RowIndex)

        id = riga.Cells.Item("ID").Value
        Dim rigads = Clsdatabase.findrow(DATASET_CELLE.Tables(0), DATASET_CELLE.Tables(0).Columns("ID"), id)
        If rigads.count = 1 Then
            cartella = DATASET_CELLE.Tables(0).Rows(rigads.item(0)).Item("CARTELLA")
            fondocella = DATASET_CELLE.Tables(0).Rows(rigads.item(0)).Item("FONDOCELLA")
            MAGAZZINO.codice_comp = fondocella
            MAGAZZINO.start()
            pdforiginalecella = cartella & "\" & fondocella & ".pdf"
            pdfcelle.LoadFile(pdforiginalecella)
        End If
    End Sub

    Private Sub DGRIPIANO_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGRIPIANO.CellClick
        Dim cartella As String
        Dim id As String
        Dim ripiano As String

        Dim riga = DGRIPIANO.Rows(DGRIPIANO.CurrentCell.RowIndex)
        id = riga.Cells.Item("ID").Value
        Dim rigads = Clsdatabase.findrow(DATASET_RIPIANI.Tables(0), DATASET_RIPIANI.Tables(0).Columns("ID"), id)
        If rigads.count = 1 Then
            cartella = DATASET_RIPIANI.Tables(0).Rows(rigads.item(0)).Item("CARTELLA")
            ripiano = DATASET_RIPIANI.Tables(0).Rows(rigads.item(0)).Item("RIPIANO")
            MAGAZZINO.codice_comp = ripiano
            MAGAZZINO.start()
            pdforiginaleripiano = cartella & "\" & ripiano & ".pdf"
            pdfripiano.LoadFile(pdforiginaleripiano)
        End If
    End Sub

    Private Sub DGSEGREGAZIONE_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGSEGREGAZIONE.CellClick
        Dim cartella As String
        Dim id As String
        Dim segregazione As String

        Dim riga = DGSEGREGAZIONE.Rows(DGSEGREGAZIONE.CurrentCell.RowIndex)

        id = riga.Cells.Item("ID").Value
        Dim rigads = Clsdatabase.findrow(DATASET_SEGREGAZIONI.Tables(0), DATASET_SEGREGAZIONI.Tables(0).Columns("ID"), id)
        If rigads.count = 1 Then
            cartella = DATASET_SEGREGAZIONI.Tables(0).Rows(rigads.item(0)).Item("CARTELLA")
            segregazione = DATASET_SEGREGAZIONI.Tables(0).Rows(rigads.item(0)).Item("SEGREGAZIONE")
            MAGAZZINO.codice_comp = segregazione
            MAGAZZINO.start()
            pdforiginalesegregazione = cartella & "\" & segregazione & ".pdf"
            pdfsegregazioni.LoadFile(pdforiginalesegregazione)
        End If

    End Sub

    Private Sub DGMONTANTE_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGMONTANTE.CellClick
        Dim CARTELLA As String
        Dim ID As String
        Dim MONTANTE As String

        Dim RIGA = DGMONTANTE.Rows(DGMONTANTE.CurrentCell.RowIndex)

        ID = RIGA.Cells.Item("ID").Value
        Dim RIGADS = Clsdatabase.findrow(datasetmontanti, datasetmontanti.Columns("ID"), ID)
        If RIGADS.count = 1 Then
            CARTELLA = datasetmontanti.Rows(RIGADS.item(0)).Item("CARTELLA")
            MONTANTE = datasetmontanti.Rows(RIGADS.item(0)).Item("MONTANTE")
            MAGAZZINO.codice_comp = MONTANTE
            MAGAZZINO.start()
            pdforiginalemontante = CARTELLA & "\" & MONTANTE & ".pdf"
            pdfmontanti.LoadFile(pdforiginalemontante)
        End If
    End Sub

    Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click
        If cbpdf.SelectedItem = "Porta" Then
            Try
                pdfporte.LoadFile(Stampa_dati_produzione(pdforiginaleporta, Tbposx.Text, Tbposy.Text, Tbhtesto.Text, cbpdf.SelectedItem, Tbcliente.Text, Tbodp.Text, Tbquantita.Text, Tbcolore.Text))
                pdf_anteprima.LoadFile(pdfporte.src)
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Fondocella" Then
            Try
                pdfcelle.LoadFile(Stampa_dati_produzione(pdforiginalecella, Tbposx.Text, Tbposy.Text, Tbhtesto.Text, cbpdf.SelectedItem, Tbcliente.Text, Tbodp.Text, Tbquantita.Text, Tbcolore.Text))
                pdf_anteprima.LoadFile(pdfcelle.src)
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Segregazione" Then
            Try
                pdfsegregazioni.LoadFile(Stampa_dati_produzione(pdforiginalesegregazione, Tbposx.Text, Tbposy.Text, Tbhtesto.Text, cbpdf.SelectedItem, Tbcliente.Text, Tbodp.Text, Tbquantita.Text, Tbcolore.Text))
                pdf_anteprima.LoadFile(pdfsegregazioni.src)
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Ripiano" Then
            Try
                pdfripiano.LoadFile(Stampa_dati_produzione(pdforiginaleripiano, Tbposx.Text, Tbposy.Text, Tbhtesto.Text, cbpdf.SelectedItem, Tbcliente.Text, Tbodp.Text, Tbquantita.Text, Tbcolore.Text))
                pdf_anteprima.LoadFile(pdfripiano.src)
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Montante" Then
            Try
                pdfmontanti.LoadFile(Stampa_dati_produzione(pdforiginalemontante, Tbposx.Text, Tbposy.Text, Tbhtesto.Text, cbpdf.SelectedItem, Tbcliente.Text, Tbodp.Text, Tbquantita.Text, Tbcolore.Text))
                pdf_anteprima.LoadFile(pdfmontanti.src)
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Rialzo/Piastra" Then
            Try
                PDFRIALZO.LoadFile(Stampa_dati_produzione(pdforiginalerialzo, Tbposx.Text, Tbposy.Text, Tbhtesto.Text, cbpdf.SelectedItem, Tbcliente.Text, Tbodp.Text, Tbquantita.Text, Tbcolore.Text))
                pdf_anteprima.LoadFile(PDFRIALZO.src)
            Catch ex As Exception
            End Try
            'ElseIf cbpdf.SelectedItem = "Montante" Then
            ' pdfmontanti.LoadFile(Stampa_dati_produzione(pdforiginalemontante, Tbposx.Text, Tbposy.Text, Tbhtesto.Text, cbpdf.SelectedItem, Tbcliente.Text, Tbodp.Text, Tbquantita.Text, Tbcolore.Text))
        End If
    End Sub

    Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click
        Dim posizione As Integer
        posizione = Tbposy.Text
        Tbposy.Text = (posizione - 50)
        Button8_Click(sender, e)
    End Sub

    Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click
        Dim posizione As Integer
        posizione = Tbposy.Text
        Tbposy.Text = (posizione + 50)
        Button8_Click(sender, e)
    End Sub

    Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click
        Dim posizione As Integer
        posizione = Tbposx.Text
        Tbposx.Text = (posizione + 50)
        Button8_Click(sender, e)
    End Sub

    Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click
        Dim posizione As Integer
        posizione = Tbposx.Text
        Tbposx.Text = (posizione - 50)
        Button8_Click(sender, e)
    End Sub

    Private Sub cbpdf_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cbpdf.SelectedIndexChanged
        'richiesta modifica da Massi 19/05/11
        Tbquantita.Text = ""
        'aggiunto io
        Tbcolore.Text = ""

        If cbpdf.SelectedItem <> "" Or cbpdf.SelectedItem <> Nothing Then
            Panel9.Enabled = True
        End If
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        If cbpdf.SelectedItem = "Porta" Then
            Try
                pdfporte.printWithDialog()
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Fondocella" Then
            Try
                pdfcelle.printWithDialog()
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Segregazione" Then
            Try
                pdfsegregazioni.printWithDialog()
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Ripiano" Then
            Try
                pdfripiano.printWithDialog()
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Montante" Then
            Try
                pdfmontanti.printWithDialog()
            Catch ex As Exception
            End Try
        ElseIf cbpdf.SelectedItem = "Rialzo/Piastra" Then
            Try
                PDFRIALZO.printWithDialog()
            Catch ex As Exception
            End Try
            'ElseIf cbpdf.SelectedItem = "" Then
            ' pdfsegregazioni.LoadFile(Stampa_dati_produzione(pdforiginalesegregazione, Tbposx.Text, Tbposy.Text, Tbhtesto.Text, cbpdf.SelectedItem, Tbcliente.Text, Tbodp.Text, Tbquantita.Text, Tbcolore.Text))
        End If
    End Sub

    Private Sub carica_dati_combobox_ricerca(ByVal origine As System.Data.DataTable, ByVal destinazione As System.Data.DataTable)

        Dim esistenza As Integer = 0

        For i = 0 To origine.Rows.Count - 1
            Try
                If origine.Rows(i).RowState = Data.DataRowState.Deleted Then
                Else
                    Dim riga_origine = origine.Rows(i).Item("ID")

                    For a = 0 To destinazione.Rows.Count - 1
                        Dim riga_destinazione = destinazione.Rows(a).Item("ID")
                        If riga_origine = riga_destinazione Then
                            esistenza = 1
                            Exit For


                        End If
                    Next
                    If esistenza = 1 Then
                        esistenza = 0
                    Else
                        destinazione.Rows.Add(origine.Rows(i))
                        esistenza = 0
                    End If
                End If

            Catch ex As Exception
            End Try
        Next

    End Sub

    Private Sub DGRIALZI_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGRIALZI.CellClick
        Dim cartella As String
        Dim id As String
        Dim porta As String
        Dim rialzo As String

        Dim regrialzo As String = "[a-zA-Z]+_[a-zA-Z]+\d+"
        Dim rialzocassetta As String = "[a-zA-Z]+\d+_[a-zA-Z]+\d+"
        Dim rialzospeciale As String = "\d\d_\d\d\d\d_\d\d\w"
        Dim regex As Regex
        Dim m As Match

        ProgressBar1.Value = 0

        Dim riga = DGRIALZI.Rows(DGRIALZI.CurrentCell.RowIndex)

        id = riga.Cells.Item("ID").Value
        Dim rigads = Clsdatabase.findrow(DATASET_RIALZI.Tables(0), DATASET_RIALZI.Tables(0).Columns("ID"), id)

        If rigads.count = 1 Then
            cartella = DATASET_RIALZI.Tables(0).Rows(rigads.item(0)).Item("CARTELLA")
            porta = DATASET_RIALZI.Tables(0).Rows(rigads.item(0)).Item("PORTA")
            MAGAZZINO.codice_comp = porta
            MAGAZZINO.start()
            rialzo = DATASET_RIALZI.Tables(0).Rows(rigads.item(0)).Item("RIALZO/PIASTRA")


            If rialzo.ToString.Contains("/") Then
                rialzo = rialzo.ToString.Replace("/", "_")
            End If

            regex = New Regex(regrialzo, RegexOptions.IgnoreCase)
            m = regex.Match(rialzo)
            If m.Success Then
                'il rialzo è di serie
                rialzo = rialzo.ToString
                Dim sottocartella As String
                sottocartella = rialzo.Remove(1, rialzo.Count - 1)
                pdforiginalerialzo = "\\Lafer2k3\uff_tec\PDF_PROE\" & sottocartella & "\" & rialzo & ".pdf"
            Else
                regex = New Regex(rialzospeciale, RegexOptions.IgnoreCase)
                m = regex.Match(rialzo)
                If m.Success Then

                    'il rialzo è speciale e lo cerco in commesse



                    Try
                        BackgroundWorker1.CancelAsync()
                        If rcommesse.Count = 0 Then
                            leggi_impostazioni()
                        End If
                        For Each Entry In rcommesse
                            cartellacliente = Entry

                            If BackgroundWorker1.IsBusy = False Then
                                BackgroundWorker1.RunWorkerAsync()
                            Else

                            End If

                            While statofiles = 0
                                Application.DoEvents()
                                Continue While
                            End While
                            ProgressBar1.Maximum += listafile.Count
                            For Each file In listafile
                                ProgressBar1.Value += 1
                                If file.EndsWith(".pdf") Or file.EndsWith(".PDF") Then
                                    Dim nomefile = My.Computer.FileSystem.GetName(file)
                                    nomefile = nomefile.Remove(nomefile.Count - 4, 4)
                                    If nomefile = rialzo Then
                                        pdforiginalerialzo = file
                                        ProgressBar1.Value = ProgressBar1.Maximum
                                        Exit Try
                                    End If
                                End If

                            Next
                            Application.DoEvents()
                            statofiles = 0

                        Next
                    Catch ex As Exception
                        BackgroundWorker1.CancelAsync()
                        ProgressBar1.Value = ProgressBar1.Maximum

                    End Try
                    BackgroundWorker1.CancelAsync()

                Else
                    regex = New Regex(rialzocassetta, RegexOptions.IgnoreCase)
                    m = regex.Match(rialzo)
                    If m.Success Then
                        'il rialzo è tipo cassetta
                        rialzo = rialzo.ToString
                        Dim sottocartella As String
                        sottocartella = rialzo.Remove(1, rialzo.Count - 1)
                        pdforiginalerialzo = "\\Lafer2k3\uff_tec\PDF_PROE\" & sottocartella & "\" & rialzo & ".pdf"

                    End If
                End If



            End If

            pdforiginaleporta = cartella & "\" & porta & ".pdf"
            pdfporte.LoadFile(pdforiginaleporta)
            PDFRIALZO.LoadFile(pdforiginalerialzo)
        End If
    End Sub

    Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork

        listafile = My.Computer.FileSystem.GetFiles(cartellacliente, FileIO.SearchOption.SearchTopLevelOnly)

    End Sub

    Private Sub BackgroundWorker1_RunWorkerCompleted(ByVal sender As Object, ByVal e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted
        statofiles = 1
    End Sub

    Private Sub sbianca_combobox()
        Cblarghezza.Items.Clear()
        Cbaltezza.Items.Clear()
        cbip.Items.Clear()
        cbcablaggio.Items.Clear()
        cbinterruttore.Items.Clear()
        cborientamento.Items.Clear()
        cbdisx.Items.Clear()
        cbdisy.Items.Clear()
        cbrialzo.Items.Clear()
        cblato_porta.Items.Clear()

    End Sub

    Private Sub SBIANCA_COMBOBOX_MVA()
        cbaltezza_montante.Items.Clear()
        CBALT_TAGLIO_1.Items.Clear()
        CBALT_TAGLIO_2.Items.Clear()
        CBPART_TAGLIO_1.Items.Clear()
        CBPART_TAGLIO_2.Items.Clear()
    End Sub

    Private Sub leggi_dataset()
        cbcarica_dati(datasetporte)
        cbcarica_dati(datasetcelle)
        cbcarica_dati(datasetripiano)
        cbcarica_dati(datasetsegregazioni)
        cbcarica_dati(datasetrialzi)
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
        panel_anteprima.Visible = True
        pdf_anteprima.LoadFile(pdfporte.src)

    End Sub

    Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        panel_anteprima.Hide()
    End Sub

    Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click
        panel_anteprima.Visible = True
        pdf_anteprima.LoadFile(pdfcelle.src)
    End Sub

    Private Sub Button6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button6.Click
        panel_anteprima.Visible = True
        pdf_anteprima.LoadFile(pdfripiano.src)
    End Sub

    Private Sub Button7_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button7.Click
        panel_anteprima.Visible = True
        pdf_anteprima.LoadFile(pdfsegregazioni.src)
    End Sub

    Private Sub Button13_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button13.Click
        panel_anteprima.Visible = True
        pdf_anteprima.LoadFile(pdfmontanti.src)
    End Sub

    Private Sub Button14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button14.Click
        panel_anteprima.Visible = True
        pdf_anteprima.LoadFile(PDFRIALZO.src)
    End Sub

    Private Sub Cblarghezza_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Cblarghezza.SelectedIndexChanged
        'If Cblarghezza.Items.Count = 1 Then
        'Else
        '    If Cblarghezza.SelectedItem <> "" Then

        '        Dim SELEZIONE As String = Cblarghezza.SelectedItem

        '        datasetporte = Clsdatabase.cerca("LARGHEZZA", Cblarghezza.SelectedItem, datasetporte)
        '        datasetcelle = Clsdatabase.cerca("LARGHEZZA", Cblarghezza.SelectedItem, datasetcelle)
        '        datasetripiano = Clsdatabase.cerca("LARGHEZZA", Cblarghezza.SelectedItem, datasetripiano)
        '        datasetrialzi = Clsdatabase.cerca("LARGHEZZA", Cblarghezza.SelectedItem, datasetrialzi)
        '        datasetsegregazioni = Clsdatabase.cerca("LARGHEZZA", Cblarghezza.SelectedItem, datasetsegregazioni)
        '        'DATASETCOMBOBOX = Clsdatabase.cerca("LARGHEZZA", Cblarghezza.SelectedItem, DATASETCOMBOBOX)

        '        DGPORTE.DataSource = datasetporte
        '        'colonneporta()
        '        DGFONDOCELLA.DataSource = datasetcelle
        '        'colonnecella()
        '        DGRIPIANO.DataSource = datasetripiano
        '        'colonneripiano()
        '        DGSEGREGAZIONE.DataSource = datasetsegregazioni
        '        'colonnesegregazioni()
        '        DGRIALZI.DataSource = datasetrialzi
        '        'colonnerialzi()

        '        sbianca_combobox()
        '        leggi_dataset()

        '        Cblarghezza.Text = SELEZIONE

        '    End If
        'End If

    End Sub

    Private Sub Cbaltezza_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Cbaltezza.SelectedIndexChanged
        'If Cbaltezza.Items.Count = 1 Then
        'Else
        '    If Cbaltezza.SelectedItem <> "" Then

        '        Dim SELEZIONE As String = Cbaltezza.SelectedItem

        '        datasetporte = Clsdatabase.cerca("ALTEZZA", Cbaltezza.SelectedItem, datasetporte)
        '        datasetcelle = Clsdatabase.cerca("ALTEZZA", Cbaltezza.SelectedItem, datasetcelle)
        '        datasetsegregazioni = Clsdatabase.cerca("ALTEZZA", Cbaltezza.SelectedItem, datasetsegregazioni)
        '        datasetrialzi = Clsdatabase.cerca("ALTEZZA", Cbaltezza.SelectedItem, datasetrialzi)
        '        'DATASETCOMBOBOX = Clsdatabase.cerca("ALTEZZA", Cbaltezza.SelectedItem, DATASETCOMBOBOX)

        '        DGPORTE.DataSource = datasetporte
        '        DGFONDOCELLA.DataSource = datasetcelle
        '        DGSEGREGAZIONE.DataSource = datasetsegregazioni
        '        DGRIALZI.DataSource = datasetrialzi

        '        sbianca_combobox()
        '        leggi_dataset()

        '        Cbaltezza.Text = SELEZIONE
        '    End If
        'End If


    End Sub

    Private Sub cbip_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbip.SelectedIndexChanged
        'If cbip.Items.Count = 1 Then
        'Else
        '    If cbip.SelectedItem <> "" Then

        '        Dim SELEZIONE As String = cbip.SelectedItem

        '        datasetporte = Clsdatabase.cerca("IP", cbip.SelectedItem, datasetporte)
        '        datasetripiano = Clsdatabase.cerca("IP", cbip.SelectedItem, datasetripiano)
        '        datasetrialzi = Clsdatabase.cerca("IP", cbip.SelectedItem, datasetrialzi)
        '        'DATASETCOMBOBOX = Clsdatabase.cerca("IP", cbip.SelectedItem, DATASETCOMBOBOX)

        '        DGPORTE.DataSource = datasetporte
        '        DGRIPIANO.DataSource = datasetripiano
        '        DGRIALZI.DataSource = datasetrialzi

        '        sbianca_combobox()
        '        leggi_dataset()

        '        cbip.Text = SELEZIONE
        '    End If

        'End If

    End Sub

    Private Sub cbcablaggio_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbcablaggio.SelectedIndexChanged
        'If cbcablaggio.Items.Count = 1 Then
        'Else
        '    If cbcablaggio.SelectedItem <> "" Then

        '        Dim SELEZIONE = cbcablaggio.SelectedItem

        '        datasetcelle = Clsdatabase.cerca("CABLAGGIO", cbcablaggio.SelectedItem, datasetcelle)
        '        datasetrialzi = Clsdatabase.cerca("CABLAGGIO", cbcablaggio.SelectedItem, datasetrialzi)

        '        DGFONDOCELLA.DataSource = datasetcelle
        '        DGRIALZI.DataSource = datasetrialzi

        '        sbianca_combobox()
        '        cbcarica_dati(datasetcelle)
        '        cbcarica_dati(datasetrialzi)

        '        cbcablaggio.Text = SELEZIONE
        '    End If
        'End If

    End Sub

    Private Sub cbinterruttore_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbinterruttore.SelectedIndexChanged
        'If cbinterruttore.Items.Count = 1 Then
        'Else
        '    If cbinterruttore.SelectedItem <> "" Then

        '        Dim SELEZIONE As String = cbinterruttore.SelectedItem

        '        datasetporte = Clsdatabase.cerca("INTERRUTTORE", cbinterruttore.SelectedItem, datasetporte)
        '        datasetcelle = Clsdatabase.cerca("INTERRUTTORE", cbinterruttore.SelectedItem, datasetcelle)
        '        datasetrialzi = Clsdatabase.cerca("INTERRUTTORE", cbinterruttore.SelectedItem, datasetrialzi)
        '        datasetripiano = Clsdatabase.cerca("INTERRUTTORE", cbinterruttore.SelectedItem, datasetripiano)
        '        datasetsegregazioni = Clsdatabase.cerca("INTERRUTTORE", cbinterruttore.SelectedItem, datasetsegregazioni)


        '        DGPORTE.DataSource = datasetporte
        '        DGFONDOCELLA.DataSource = datasetcelle
        '        DGRIALZI.DataSource = datasetrialzi
        '        DGRIPIANO.DataSource = datasetripiano
        '        DGSEGREGAZIONE.DataSource = datasetsegregazioni

        '        sbianca_combobox()
        '        leggi_dataset()

        '        cbinterruttore.Text = SELEZIONE
        '    End If
        'End If

    End Sub

    Private Sub cborientamento_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cborientamento.SelectedIndexChanged
        'If cborientamento.Items.Count = 1 Then
        'Else
        '    If cborientamento.SelectedItem <> "" Then

        '        Dim SELEZIONE As String = cborientamento.SelectedItem

        '        datasetporte = Clsdatabase.cerca("ORIENTAMENTO", cborientamento.SelectedItem, datasetporte)
        '        datasetcelle = Clsdatabase.cerca("ORIENTAMENTO", cborientamento.SelectedItem, datasetcelle)
        '        datasetsegregazioni = Clsdatabase.cerca("ORIENTAMENTO", cborientamento.SelectedItem, datasetsegregazioni)
        '        datasetrialzi = Clsdatabase.cerca("ORIENTAMENTO", cborientamento.SelectedItem, datasetrialzi)

        '        DGPORTE.DataSource = datasetporte
        '        DGFONDOCELLA.DataSource = datasetcelle
        '        DGSEGREGAZIONE.DataSource = datasetsegregazioni
        '        DGRIALZI.DataSource = datasetrialzi

        '        sbianca_combobox()
        '        leggi_dataset()

        '        cborientamento.Text = SELEZIONE
        '    End If
        'End If

    End Sub

    Private Sub cbdisx_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbdisx.SelectedIndexChanged
        'If cbdisx.Items.Count = 1 Then
        'Else
        '    If cbdisx.SelectedItem <> "" Then
        '        Dim SELEZIONE As String = cbdisx.SelectedItem

        '        datasetporte = Clsdatabase.cerca("DIS_INT_X", cbdisx.SelectedItem, datasetporte)
        '        datasetripiano = Clsdatabase.cerca("DIS_INT_X", cbdisx.SelectedItem, datasetripiano)
        '        datasetsegregazioni = Clsdatabase.cerca("DIS_INT_X", cbdisx.SelectedItem, datasetsegregazioni)
        '        datasetcelle = Clsdatabase.cerca("DIS_INT_X", cbdisx.SelectedItem, datasetcelle)

        '        DGPORTE.DataSource = datasetporte
        '        DGFONDOCELLA.DataSource = datasetcelle
        '        DGSEGREGAZIONE.DataSource = datasetsegregazioni
        '        DGRIPIANO.DataSource = datasetripiano

        '        sbianca_combobox()
        '        leggi_dataset()

        '        cbdisx.Text = SELEZIONE
        '    End If
        'End If
    End Sub

    Private Sub cbdisy_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbdisy.SelectedIndexChanged
        'If cbdisy.Items.Count = 1 Then
        'Else
        '    If cbdisy.SelectedItem <> "" Then
        '        Dim SELEZIONE As String = cbdisy.SelectedItem

        '        datasetporte = Clsdatabase.cerca("DIS_INT_Y", cbdisy.SelectedItem, datasetporte)
        '        datasetsegregazioni = Clsdatabase.cerca("DIS_INT_Y", cbdisy.SelectedItem, datasetsegregazioni)
        '        datasetcelle = Clsdatabase.cerca("DIS_INT_Y", cbdisy.SelectedItem, datasetcelle)

        '        DGPORTE.DataSource = datasetporte
        '        DGFONDOCELLA.DataSource = datasetcelle
        '        DGSEGREGAZIONE.DataSource = datasetsegregazioni

        '        sbianca_combobox()
        '        leggi_dataset()

        '        cbdisy.Text = SELEZIONE
        '    End If
        'End If

    End Sub

    Private Sub cbrialzo_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbrialzo.SelectedIndexChanged
        'If cbrialzo.Items.Count = 1 Then
        'Else
        '    If cbrialzo.SelectedItem <> "" Then
        '        Dim SELEZIONE As String = cbrialzo.SelectedItem

        '        datasetrialzi = Clsdatabase.cerca("RIALZO/PIASTRA", cbrialzo.SelectedItem, datasetrialzi)

        '        DGRIALZI.DataSource = datasetrialzi

        '        sbianca_combobox()
        '        cbcarica_dati(datasetrialzi)

        '        cbrialzo.Text = SELEZIONE
        '    End If
        'End If


    End Sub

    Private Sub cbaltezza_montante_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cbaltezza_montante.SelectedIndexChanged
        If cbaltezza_montante.Items.Count = 1 Then
        Else
            If cbaltezza_montante.SelectedItem <> "" Then
                Dim SELEZIONE As String = cbaltezza_montante.SelectedItem

                datasetmontanti = Clsdatabase.cerca("ALTEZZA", cbaltezza_montante.SelectedItem, datasetmontanti)
                DGMONTANTE.DataSource = datasetmontanti
                SBIANCA_COMBOBOX_MVA()
                carica_dati_mva(datasetmontanti)

                cbaltezza_montante.Text = SELEZIONE
            End If
        End If


    End Sub

    Private Sub CBPART_TAGLIO_1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CBPART_TAGLIO_1.SelectedIndexChanged
        If CBPART_TAGLIO_1.Items.Count = 1 Then
        Else
            If CBPART_TAGLIO_1.SelectedItem <> "" Then
                Dim SELEZIONE As String = CBPART_TAGLIO_1.SelectedItem

                datasetmontanti = Clsdatabase.cerca("PARTENZA_TAGLIO_1", CBPART_TAGLIO_1.SelectedItem, datasetmontanti)
                DGMONTANTE.DataSource = datasetmontanti
                SBIANCA_COMBOBOX_MVA()
                carica_dati_mva(datasetmontanti)

                CBPART_TAGLIO_1.Text = SELEZIONE
            End If
        End If

    End Sub

    Private Sub CBALT_TAGLIO_1_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CBALT_TAGLIO_1.SelectedIndexChanged
        If CBALT_TAGLIO_1.Items.Count = 1 Then
        Else
            If CBALT_TAGLIO_1.SelectedItem <> "" Then
                Dim SELEZIONE As String = CBALT_TAGLIO_1.SelectedItem

                datasetmontanti = Clsdatabase.cerca("ALTEZZA_TAGLIO_1", CBALT_TAGLIO_1.SelectedItem, datasetmontanti)
                DGMONTANTE.DataSource = datasetmontanti
                SBIANCA_COMBOBOX_MVA()
                carica_dati_mva(datasetmontanti)

                CBALT_TAGLIO_1.Text = SELEZIONE
            End If

        End If

    End Sub

    Private Sub CBPART_TAGLIO_2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CBPART_TAGLIO_2.SelectedIndexChanged
        If CBPART_TAGLIO_2.Items.Count = 1 Then
        Else
            If CBPART_TAGLIO_2.SelectedItem <> "" Then
                Dim SELEZIONE As String = CBPART_TAGLIO_2.SelectedItem

                datasetmontanti = Clsdatabase.cerca("PARTENZA_TAGLIO_2", CBPART_TAGLIO_2.SelectedItem, datasetmontanti)
                DGMONTANTE.DataSource = datasetmontanti
                SBIANCA_COMBOBOX_MVA()
                carica_dati_mva(datasetmontanti)

                CBPART_TAGLIO_2.Text = SELEZIONE
            End If
        End If

    End Sub

    Private Sub CBALT_TAGLIO_2_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles CBALT_TAGLIO_2.SelectedIndexChanged
        If CBALT_TAGLIO_2.Items.Count = 1 Then
        Else
            If CBALT_TAGLIO_2.SelectedItem <> "" Then
                Dim SELEZIONE As String = CBALT_TAGLIO_2.SelectedItem

                datasetmontanti = Clsdatabase.cerca("ALTEZZA_TAGLIO_2", CBALT_TAGLIO_2.SelectedItem, datasetmontanti)
                DGMONTANTE.DataSource = datasetmontanti
                SBIANCA_COMBOBOX_MVA()
                carica_dati_mva(datasetmontanti)

                CBALT_TAGLIO_2.Text = SELEZIONE
            End If
        End If

    End Sub

    Private Sub cblato_porta_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cblato_porta.SelectedIndexChanged
        'If cblato_porta.Items.Count = 1 Then
        'Else
        '    If cblato_porta.SelectedItem <> "" Then
        '        Dim SELEZIONE As String = cblato_porta.SelectedItem

        '        datasetporte = Clsdatabase.cerca("LATO_PORTA", cblato_porta.SelectedItem, datasetporte)
        '        datasetrialzi = Clsdatabase.cerca("LATO_PORTA", cblato_porta.SelectedItem, datasetrialzi)

        '        DGPORTE.DataSource = datasetporte
        '        DGRIALZI.DataSource = datasetrialzi

        '        sbianca_combobox()
        '        leggi_dataset()

        '        cblato_porta.Text = SELEZIONE
        '    End If
        'End If
    End Sub

    Private Sub Button15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button15.Click

        If tabcontrol1.SelectedIndex = 0 Then
            LATO_PORTA = cblato_porta.Text
            LARGHEZZA = Cblarghezza.Text
            ALTEZZA = Cbaltezza.Text
            IP = cbip.Text
            CABLAGGIO = cbcablaggio.Text
            INTERRUTTORE = cbinterruttore.Text
            DIS_INT_X = cbdisx.Text
            DIS_INT_Y = cbdisy.Text
            RIALZO_PIASTRA = cbrialzo.Text
            ORIENTAMENTO = cborientamento.Text

            Dim QUERY_PORTE = Clsdatabase.GENERA_QUERY("PORTE_SPECIALI", "PORTA", LATO_PORTA, LARGHEZZA, ALTEZZA, IP, , INTERRUTTORE, ORIENTAMENTO, DIS_INT_X, DIS_INT_Y)
            Dim QUERY_CELLE = Clsdatabase.GENERA_QUERY("PORTE_SPECIALI", "FONDOCELLA", , LARGHEZZA, ALTEZZA, , CABLAGGIO, INTERRUTTORE, ORIENTAMENTO, DIS_INT_X, DIS_INT_Y)
            Dim QUERY_RIPIANI = Clsdatabase.GENERA_QUERY("PORTE_SPECIALI", "RIPIANO", , LARGHEZZA, , IP, , INTERRUTTORE, , DIS_INT_X)
            Dim QUERY_SEGREGAZIONI = Clsdatabase.GENERA_QUERY("PORTE_SPECIALI", "SEGREGAZIONE", , LARGHEZZA, ALTEZZA, , , INTERRUTTORE, , DIS_INT_X, DIS_INT_Y)
            Dim QUERY_RIALZI = Clsdatabase.GENERA_QUERY("PORTE_SPECIALI", "[RIALZO/PIASTRA]", LATO_PORTA, LARGHEZZA, ALTEZZA, IP, CABLAGGIO, INTERRUTTORE, ORIENTAMENTO, DIS_INT_X, DIS_INT_Y, RIALZO_PIASTRA)


            DATASET_PORTE = New Data.DataSet
            DATASET_CELLE = New Data.DataSet
            DATASET_RIPIANI = New Data.DataSet
            DATASET_SEGREGAZIONI = New Data.DataSet
            DATASET_RIALZI = New Data.DataSet


            CARICA_QUERY(QUERY_PORTE, DATASET_PORTE, DGPORTE, "PORTE_SPECIALI")
            colonneporta()
            CARICA_QUERY(QUERY_CELLE, DATASET_CELLE, DGFONDOCELLA, "PORTE_SPECIALI")
            colonnecella()
            CARICA_QUERY(QUERY_RIPIANI, DATASET_RIPIANI, DGRIPIANO, "PORTE_SPECIALI")
            colonneripiano()
            CARICA_QUERY(QUERY_SEGREGAZIONI, DATASET_SEGREGAZIONI, DGSEGREGAZIONE, "PORTE_SPECIALI")
            colonnesegregazioni()
            CARICA_QUERY(QUERY_RIALZI, DATASET_RIALZI, DGRIALZI, "PORTE_SPECIALI")
            colonnerialzi()
        ElseIf tabcontrol1.SelectedIndex = 1 Then

            Dim altezza = Cbaltezza.Text
            Dim larghezza = Cblarghezza.Text
            Dim profondita = CBprofondita.Text
            Dim tipologia = CBtipologia.Text

            DG_COMP_VARI.DataSource = (Clsdatabase.FIND_ROW_GEN("COMP_VARI", "DIM_H", altezza, "DIM_P", profondita, "DIM_L", larghezza, "TIPOLOGIA", "'" & tipologia & "'")).Tables(0)
        ElseIf tabcontrol1.SelectedIndex = 2 Then

            Dim arrparametri As New ArrayList

            Dim larghezza As Clsdatabase.parametro_query
            larghezza.parametro = "LARGHEZZA_NOMINALE"
            larghezza.valore = Cblarghezza.Text
            arrparametri.Add(larghezza)

            Dim altezza As Clsdatabase.parametro_query
            altezza.parametro = "ALTEZZA_NOMINALE"
            altezza.valore = Cbaltezza.Text
            arrparametri.Add(altezza)

            Dim cod_str_01 As Clsdatabase.parametro_query
            cod_str_01.parametro = "COD_STR_01"
            cod_str_01.valore = "'" & Cbcodstr01.Text & "'"
            If cod_str_01.valore = "''" Then
                cod_str_01.valore = ""
            End If
            arrparametri.Add(cod_str_01)

            Dim cod_int_01 As Clsdatabase.parametro_query
            cod_int_01.parametro = "COD_INT_01"
            cod_int_01.valore = "'" & Cbcodint01.Text & "'"
            If cod_int_01.valore = "''" Then
                cod_int_01.valore = ""
            End If
            arrparametri.Add(cod_int_01)

            Dim lato_porta As Clsdatabase.parametro_query
            lato_porta.parametro = "LATO_PORTA"
            If cblato_porta.Text = "DX" Then
                lato_porta.valore = "'D'"
            ElseIf cblato_porta.Text = "SX" Then
                lato_porta.valore = "'S'"
            Else
                lato_porta.valore = ""
            End If
            arrparametri.Add(lato_porta)

            Dim p_mont As Clsdatabase.parametro_query
            p_mont.parametro = "P_MONTANTE"
            p_mont.valore = cbpmont.Text
            arrparametri.Add(p_mont)

            Dim ip As Clsdatabase.parametro_query
            ip.parametro = "PREF_COD"
            If cbip.Text = "IP54" Then
                ip.valore = "'13'"
            ElseIf cbip.Text = "IP30" Then
                ip.valore = "'2_12'"
            ElseIf cbip.Text = "IP42" Then
                ip.valore = "'4_12'"
            Else
                ip.valore = ""
            End If
            arrparametri.Add(ip)

            Dim tipo As Clsdatabase.parametro_query
            tipo.parametro = "TIPO"
            Select Case Cbtipocompspeciale.Text
                Case "PORTINA"
                    tipo.valore = 1
                Case "FONDOCELLA"
                    tipo.valore = 2
                Case "RIPIANO_APERTO"
                    tipo.valore = 3
                Case "SEGR_APERTO"
                    tipo.valore = 4
                Case "MONT_DX_APERTO"
                    tipo.valore = 5
                Case "MONT_SX_APERTO"
                    tipo.valore = 6
                Case Else
                    tipo.valore = ""
            End Select
            arrparametri.Add(tipo)

            Dim pos_y_ripiano_01 As Clsdatabase.parametro_query
            pos_y_ripiano_01.parametro = "POS_Y_RIPIANO_01"
            pos_y_ripiano_01.valore = Cbposyripiano.Text
            arrparametri.Add(pos_y_ripiano_01)

            Dim tipo_foratura As Clsdatabase.parametro_query
            tipo_foratura.parametro = "TIPO_FORATURA_01"
            tipo_foratura.valore = "'" & Cbtipoforatura.Text & "'"
            If tipo_foratura.valore = "''" Then
                tipo_foratura.valore = ""
            End If
            arrparametri.Add(tipo_foratura)

            Dim micro_att_ant_01 As Clsdatabase.parametro_query
            micro_att_ant_01.parametro = "MICRO_ATT_ANT_01"
            micro_att_ant_01.valore = "'" & cbmicroattant.Text & "'"
            If micro_att_ant_01.valore = "''" Then
                micro_att_ant_01.valore = ""
            End If
            arrparametri.Add(micro_att_ant_01)

            Dim QUERY As String = ""

            For Each ITEM As Clsdatabase.parametro_query In arrparametri
                If ITEM.valore = "" Then
                Else
                    If QUERY = "" Then
                        QUERY = ITEM.parametro & " =" & ITEM.valore
                    Else
                        QUERY = QUERY & " AND " & ITEM.parametro & " =" & ITEM.valore
                    End If
                End If
            Next
            dgcompspeciali.DataSource = Nothing
            If datasetcomponentispeciali Is Nothing Then
            Else
                Dim AAA = datasetcomponentispeciali.Tables("ComponentiSpeciali").Select(QUERY)
                Dim DATATABLEDATASOURCE = datasetcomponentispeciali.Tables("ComponentiSpeciali").Clone()
                For Each RIGA As Data.DataRow In AAA
                    DATATABLEDATASOURCE.ImportRow(RIGA)
                Next
                dgcompspeciali.DataSource = DATATABLEDATASOURCE
            End If
        End If
    End Sub

    Private Sub CARICA_QUERY(ByVal QUERY As Object, ByVal DATASET As Object, ByVal DATAGRIDVIEW As Object, ByVal TABELLA As String)
        Dim DA As System.Data.OleDb.OleDbDataAdapter
        Dim CONNESSIONE As New Data.OleDb.OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\Lafer2k3\uff_tec\Dbporteclienti.mdb")
        DA = New Data.OleDb.OleDbDataAdapter(QUERY.ToString, CONNESSIONE)
        DA.SelectCommand = QUERY
        DATASET.Clear()
        DA.SelectCommand.Connection = CONNESSIONE
        DA.Fill(DATASET, TABELLA)
        'DATAGRIDVIEW.DataSource = Nothing
        DATAGRIDVIEW.DataSource = DATASET.Tables(0)
        DATAGRIDVIEW.Refresh()
    End Sub

    Private Sub DGPORTE_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DGPORTE.MouseClick
        If e.Button = MouseButtons.Right Then
            DGPORTE.ContextMenuStrip = ContextMenuStrip1
            ContextMenuStrip1.Show()
        End If
    End Sub

    Private Sub ModificaRigaToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ModificaRigaToolStripMenuItem.Click
        Dim datagrid As DataGridView = ContextMenuStrip1.SourceControl
        datagrid.BeginEdit(True)
    End Sub

    Private Sub DGFONDOCELLA_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGFONDOCELLA.CellEndEdit
        Dim IDriga As Integer
        IDriga = DGPORTE.CurrentRow.Cells.Item("ID").Value

        MODIFICA_CELLA(DGFONDOCELLA, IDriga, DbporteclientiDataSet.PORTE_SPECIALI)
    End Sub

    Private Sub DGFONDOCELLA_MouseClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DGFONDOCELLA.MouseClick
        If e.Button = MouseButtons.Right Then
            DGFONDOCELLA.ContextMenuStrip = ContextMenuStrip1
            ContextMenuStrip1.Show()
        End If
    End Sub

    Private Sub DGRIALZI_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGRIALZI.CellEndEdit

        Dim IDriga As Integer
        IDriga = DGPORTE.CurrentRow.Cells.Item("ID").Value
        MODIFICA_CELLA(DGRIALZI, IDriga, DbporteclientiDataSet.PORTE_SPECIALI)

    End Sub

    Private Sub DGRIALZI_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DGRIALZI.MouseClick
        If e.Button = MouseButtons.Right Then
            DGRIALZI.ContextMenuStrip = ContextMenuStrip1
            ContextMenuStrip1.Show()
        End If
    End Sub

    Private Sub DGRIPIANO_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGRIPIANO.CellEndEdit
        Dim IDriga As Integer
        IDriga = DGPORTE.CurrentRow.Cells.Item("ID").Value
        MODIFICA_CELLA(DGRIPIANO, IDriga, DbporteclientiDataSet.PORTE_SPECIALI)

    End Sub

    Private Sub DGRIPIANO_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DGRIPIANO.MouseClick
        If e.Button = MouseButtons.Right Then
            DGRIPIANO.ContextMenuStrip = ContextMenuStrip1
            ContextMenuStrip1.Show()
        End If
    End Sub

    Private Sub DGSEGREGAZIONE_CellEndEdit(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGSEGREGAZIONE.CellEndEdit
        Dim IDriga As Integer
        IDriga = DGPORTE.CurrentRow.Cells.Item("ID").Value
        MODIFICA_CELLA(DGSEGREGAZIONE, IDriga, DbporteclientiDataSet.PORTE_SPECIALI)

    End Sub

    Private Sub DGSEGREGAZIONE_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DGSEGREGAZIONE.MouseDown
        If e.Button = MouseButtons.Right Then
            DGPORTE.ContextMenuStrip = ContextMenuStrip1
            ContextMenuStrip1.Show()
        End If
    End Sub

    Private Sub DGSEGREGAZIONE_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles DGSEGREGAZIONE.MouseUp
        If e.Button = MouseButtons.Right Then
            DGSEGREGAZIONE.ContextMenuStrip = ContextMenuStrip1
            ContextMenuStrip1.Show()
        End If
    End Sub
    Private Sub MODIFICA_CELLA(ByVal DATAGRID As DataGridView, ByVal IDRIGA As Object, ByVal DATATABLE As Object)

        Dim riga = DATAGRID.CurrentRow
        Dim COLONNA = DATAGRID.Columns.Item(DATAGRID.CurrentCell.ColumnIndex).Name
        Dim indiceriga = Clsdatabase.findrow(DATATABLE, DATATABLE.Columns("ID"), IDRIGA)

        If DATATABLE.Rows(indiceriga(0)).Item(COLONNA) <> DATAGRID.CurrentCell.Value Then
            Dim risultato = MsgBox("Vuoi modificare il contenuto della cella selezionata?", MsgBoxStyle.YesNoCancel)
            If risultato = MsgBoxResult.Yes Then
                DATATABLE.Rows(indiceriga(0)).Item(COLONNA) = DATAGRID.CurrentCell.Value
                PORTESPECIALIBindingSource.EndEdit()
                Me.PORTE_SPECIALITableAdapter.Update(DATATABLE)
            ElseIf risultato = MsgBoxResult.No Then
                Exit Sub
            ElseIf risultato = MsgBoxResult.Cancel Then
                Exit Sub
            End If
        End If



    End Sub
    Private Sub DGPORTE_CellEndEdit(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DGPORTE.CellEndEdit

        Dim IDriga As Integer
        IDriga = DGPORTE.CurrentRow.Cells.Item("ID").Value
        MODIFICA_CELLA(DGPORTE, IDriga, DbporteclientiDataSet.PORTE_SPECIALI)

    End Sub



    Private Sub tabcontrol1_Selecting(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TabControlCancelEventArgs) Handles tabcontrol1.Selecting
        If e.TabPageIndex = 1 Then
            cblato_porta.Enabled = False
            cbcablaggio.Enabled = False
            cbinterruttore.Enabled = False
            cborientamento.Enabled = False
            cbdisx.Enabled = False
            cbdisy.Enabled = False
            cbrialzo.Enabled = False
            cbip.Enabled = False
            tbfondocella.Enabled = False
            Panel16.Enabled = False
            Cbcodint01.Enabled = False
            Cbcodstr01.Enabled = False
            cbpmont.Enabled = False
            Cbrotint01.Enabled = False
            Cbtipocompspeciale.Enabled = False
            Cbposyripiano.Enabled = False
            Cbtipoforatura.Enabled = False
            cbmicroattant.Enabled = False
            CBtipologia.Enabled = True
            Timer2.Enabled = False
        ElseIf e.TabPageIndex = 0 Then
            cblato_porta.Enabled = True
            cbcablaggio.Enabled = True
            cbinterruttore.Enabled = True
            cborientamento.Enabled = True
            cbdisx.Enabled = True
            cbdisy.Enabled = True
            cbrialzo.Enabled = True
            cbip.Enabled = True
            tbfondocella.Enabled = True
            Panel16.Enabled = True
            Cbcodint01.Enabled = False
            Cbcodstr01.Enabled = False
            cbpmont.Enabled = False
            Cbrotint01.Enabled = False
            Cbtipocompspeciale.Enabled = False
            Cbposyripiano.Enabled = False
            Cbtipoforatura.Enabled = False
            cbmicroattant.Enabled = False
            CBtipologia.Enabled = False
            Timer2.Enabled = False
        ElseIf e.TabPageIndex = 2 Then
            cblato_porta.Enabled = True
            Cblarghezza.Enabled = True
            Cbaltezza.Enabled = True
            Cbcodint01.Enabled = True
            cbip.Enabled = True
            cbcablaggio.Enabled = False
            cbinterruttore.Enabled = False
            Cbcodstr01.Enabled = True
            cborientamento.Enabled = False
            cbdisx.Enabled = False
            cbdisy.Enabled = False
            tbfondocella.Enabled = False
            cbrialzo.Enabled = False
            CBprofondita.Enabled = False
            CBtipologia.Enabled = False
            Cbrotint01.Enabled = False
            Cbtipocompspeciale.Enabled = True
            Cbposyripiano.Enabled = True
            Cbtipoforatura.Enabled = True
            cbmicroattant.Enabled = True
            Cbrotint01.Enabled = True
            cbpmont.Enabled = True
            Timer2.Enabled = True
        End If

    End Sub

    Private Sub DG_COMP_VARI_CellClick(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DG_COMP_VARI.CellClick
        Dim cartella As String
        Dim id As String
        Dim COMPONENTE As String

        Dim riga = DG_COMP_VARI.Rows(DG_COMP_VARI.CurrentCell.RowIndex)

        id = riga.Cells.Item("ID").Value
        Dim rigads = Clsdatabase.FIND_ROW_GEN("COMP_VARI", "ID", id)

        cartella = rigads.Tables(0).Rows(0).Item("PERCORSO")
        COMPONENTE = rigads.Tables(0).Rows(0).Item("CODICE")

        MAGAZZINO.codice_comp = COMPONENTE
        MAGAZZINO.start()
        comp_pdf.dati_stampa.qta_mag = MAGAZZINO.quantita

        PDFCOMPONENTI_VARI = cartella & "\" & COMPONENTE & ".pdf"
        APRI_PDF(PDFCOMPONENTI_VARI)
        'comp_pdf.UserControl1.filesorgente_TextChanged(Nothing, Nothing)

    End Sub

    Private Sub APRI_PDF(ByVal FILE As String)
        comp_pdf.dati_stampa.Tempfile = "Temp2"
        comp_pdf.dati_stampa.file_origine = FILE
        comp_pdf.dati_stampa.RUN_PDF("", FILE, quantita)
        'comp_pdf.UserControl1.filesorgente.Text = FILE
        COMP_VARI_PDF.LoadFile(comp_pdf.dati_stampa.file_modificato)
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick

        If temp1 Is Nothing Then
            If comp_pdf.dati_stampa.file_modificato Is Nothing Then
            Else
                temp1 = My.Computer.FileSystem.GetFileInfo(Application.StartupPath & "\Temp2.pdf")
            End If

        Else
            Dim time As System.IO.FileInfo
            time = My.Computer.FileSystem.GetFileInfo(Application.StartupPath & "\Temp2.pdf")

            If time.LastWriteTime > temp1.LastWriteTime Then
                COMP_VARI_PDF.LoadFile(Application.StartupPath & "\Temp2.pdf")
                temp1 = time

            End If
        End If
    End Sub

    Private Sub frmricercadatabase_Activated(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Activated
        Timer1.Enabled = True
        comp_pdf.dati_stampa.Tempfile = "Temp2"
        Timer2.Enabled = True
    End Sub

    Private Sub dgcompspeciali_CellClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgcompspeciali.CellClick
        comp_pdf.dati_stampa.Tempfile = "Temp3"
        comp_pdf.dati_stampa.qta_mag = ""
        Dim RIGA = dgcompspeciali.Rows(dgcompspeciali.CurrentCell.RowIndex)
        Dim DISEGNO As String = RIGA.Cells("CODICE").Value
        Dim percorso As String = "\\LAFER2K3\Uff_tec\PDF_PROE\pdffolder\"
        Dim sottocartella As String
        sottocartella = DISEGNO.Remove(3, DISEGNO.Length - 3)
        Dim file = My.Computer.FileSystem.GetFiles(percorso & sottocartella, FileIO.SearchOption.SearchTopLevelOnly, DISEGNO & "*.*")

        For Each dis In file
            DISEGNO = dis
        Next

        comp_pdf.dati_stampa.file_origine = DISEGNO
        comp_pdf.dati_stampa.RUN_PDF("", comp_pdf.dati_stampa.file_origine, "")
        acropdfcompspec.LoadFile(comp_pdf.dati_stampa.file_modificato)
    End Sub

    Private Sub Timer2_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer2.Tick

        If temp2 Is Nothing Then
            If comp_pdf.dati_stampa.file_modificato Is Nothing Then
            Else
                temp2 = My.Computer.FileSystem.GetFileInfo(Application.StartupPath & "\Temp3.pdf")
            End If

        Else
            Dim time As System.IO.FileInfo
            time = My.Computer.FileSystem.GetFileInfo(Application.StartupPath & "\Temp3.pdf")

            If time.LastWriteTime > temp2.LastWriteTime Then
                acropdfcompspec.LoadFile(Application.StartupPath & "\Temp3.pdf")
                temp2 = time

            End If
        End If
    End Sub

    Private Sub Button16_Click(sender As System.Object, e As System.EventArgs) Handles Button16.Click
        Dim RIGA = dgcompspeciali.Rows(dgcompspeciali.CurrentCell.RowIndex)
        Dim DISEGNO As String = RIGA.Cells("CODICE").Value
        Dim MESGRESULT = MsgBox("Vuoi veramente cancellare tutte le righe del codice selezionato?", MsgBoxStyle.YesNo, "Attenzione!!")
        If MESGRESULT = MsgBoxResult.Yes Then
            elimina_righe(DISEGNO)
        End If
    End Sub

    Private Sub Button17_Click(sender As System.Object, e As System.EventArgs) Handles Button17.Click

        Dim RIGA = dgcompspeciali.Rows(dgcompspeciali.CurrentCell.RowIndex)
        Dim DISEGNO As String = RIGA.Cells("CODICE").Value
        Dim MESGRESULT = MsgBox("Vuoi veramente cancellare tutte le righe e i disegni del codice selezionato?", MsgBoxStyle.YesNo, "Attenzione!!")
        If MESGRESULT = MsgBoxResult.Yes Then
            elimina_righe(DISEGNO)
            elimina_disegni(DISEGNO)
        End If

    End Sub

    Private Sub elimina_righe(ByVal codice As String)

        Clsdatabase.elimina_righe_da_database("ComponentiSpeciali", "Codice", codice)
        Button1.PerformClick()

    End Sub

    Private Sub elimina_disegni(ByVal codice As String)

        Dim percorsopdf As String = "\\LAFER2K3\Uff_tec\PDF_PROE\pdffolder\"
        Dim percorsodxf As String = "\\LAFER2K3\Uff_tec\Commesse\dxffolder\"
        Dim sottocartella As String
        sottocartella = codice.Remove(3, codice.Length - 3)

        Dim file = My.Computer.FileSystem.GetFiles(percorsopdf & sottocartella, FileIO.SearchOption.SearchTopLevelOnly, codice & "*.pdf")
        If file.Count > 0 Then
            For Each dis In file
                My.Computer.FileSystem.DeleteFile(dis)
            Next
        End If

        file = My.Computer.FileSystem.GetFiles(percorsodxf, FileIO.SearchOption.SearchTopLevelOnly, codice & "*.dxf")

        If file.Count > 0 Then
            For Each dis In file
                My.Computer.FileSystem.DeleteFile(dis)
            Next
        End If

    End Sub

End Class